Skip to content

feat: detect environment declarations with --with-env - #21

Merged
jeroenrinzema merged 2 commits into
mainfrom
feat/detect-env
Nov 10, 2026
Merged

jeroenrinzema merged 2 commits into
mainfrom
feat/detect-env

Conversation

@dmeijboom

Copy link
Copy Markdown
Contributor

Adds opt-in brainpod detect [path] --with-env with JSON and text output for dotenv, Compose, Dockerfile ENV, Kubernetes declarations, and GitHub Actions env.

Reports variable names and source/project provenance only. Values are never exposed or evaluated; file/secret references remain unresolved. Default output and read counts are unchanged.

Validated with 215 Rust tests, 12 Python tests, fmt, Clippy, release builds and benchmarks. All 321 corpus assertions pass across 51 pinned repos with five deterministic runs; default reports are byte-identical to the base. All ten starters pass in both modes. Native CI was not rerun locally.

Research, supported syntax, limits, and offline reproduction: tests/detect-env.md.

…#22)

* feat: detect platform deployment env declarations and code references

Extend brainpod detect --with-env with deployment manifests of other hosting platforms (app.json/scalingo.json, heroku.yml, render.yaml, fly.toml, DigitalOcean app specs, vercel.json/toml, netlify.toml, App Engine app.yaml, AWS Copilot manifests), optional required/secret/generated/hasDefault/scope fields, Dockerfile ARG declarations, and a catalog-driven literal search for platform-injected names and framework env prefixes in source files.

* feat: gate code-reference source search behind --with-source

* fix: scan Copilot override sidecars and bound code-reference storage

- Traverse environments.<name>.sidecars in Copilot manifests.
- Aggregate code-reference hits per directory as a unique-line count plus
  the smallest MAX_OCCURRENCES locations, and merge without per-hit clones.
@jeroenrinzema
jeroenrinzema added this pull request to the merge queue Nov 10, 2026
Merged via the queue into main with commit df11372 Nov 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants